#7.1
h.2anos <- c(39, 30, 32, 34, 35, 36, 36, 30)
h.adulto <- c(71, 63, 63, 67, 68, 68, 70, 64)
alturas <- data.frame(h.2anos, h.adulto)
alturas
alturas.lm <- lm(h.adulto~h.2anos, data=alturas)
alturas
alturas.conf <- confint(alturas.lm)
alturas.conf
plot(h.adulto~h.2anos, data=alturas)
abline(alturas.lm, col="red", wd=2)

#7.2
library(MASS)
data(Animals)
anim.m2 <- lm(log(brain)~log(body),data=Animals,subset=!(log(Animals$body)>8&log(Animals$brain)<6))
anim.m0 <- lm(log(brain)~1, data=Animals, 
              subset=!(log(Animals$body)>8&log(Animals$brain)<6))
anova(anim.m0,anim.m2)
anova(anim.m2)
# Qual a relao do comando 'anova' acima com:anova(anim.m2)
#A anova "anim.m0" apresenta a relao das variveis logcrebro com logbody, comparando contra o valor de x quando y  0, oseja o modelo nulo.

# Qual a relao entre os valores obtidos por estes comandos?
summary(anim.m0)
mean(log(Animals$brain[!(log(Animals$body)>8&log(Animals$brain)<6)]))
sd(log(Animals$brain[!(log(Animals$body)>8&log(Animals$brain)<6)]))
anim.m0 <- update(anim.m2, .~. -log(body))
#Os valores obtidos mostram a remocao dos valores extremos que podem ter efeito dentro dos dados ao fazer o modelo linear.
#Feito isso, o modelo apresenta uma correlacao de acordo com a linha do corpotamento esperado, oseja, uma correlacao completa dos dados.

#7.3
search()
ls(package:datasets)
iris
str(iris)
i.setosa <- subset(iris,iris$Species=="setosa")
i.setosa
lm.iris <- lm(Sepal.Width~Sepal.Length, data=i.setosa)
lm.iris.coef <- coef(lm.iris)
summary(lm.iris)
lm.Sepal <- lm(Sepal.Length~Petal.Length, data=i.setosa)
lm.Sepal.res <- residuals(lm.Sepal)
lm.Petal <- lm(Sepal.Width~Petal.Length, data=i.setosa)
lm.Petal.res <- residuals(lm.Petal)
lm.iris.nopetal <- lm(lm.Petal.res~lm.Sepal.res)
lm.iris.nopetal.coef <- coef(lm.iris.nopetal)
summary(lm.iris.nopetal)

#7.4
search()
ls(6)
pressure
t <- pressure$temperature
t
p <- pressure$pressure
p
reg1 <- lm(p~t)
summary(reg1)
reg2 <- lm(p ~ t + I(t^2))
summary(reg2)
reg3 <- lm (p ~ t + I(t^2) + I(t^3))
sum.mod3 <- summary(reg3)
r2 <- sum.mod3$r.squared
r2

#7.5
aves <- read.table("aves_cerrado.csv", header=T, sep=";", as.is=F)
aves
str(aves)
aves$urubu[is.na(aves$urubu)] <- 0
aves$carcara[is.na(aves$carcara)] <- 0
aves$seriema[is.na(aves$seriema)] <- 0
aves$fisionomia[aves$fisionomia=="ce"] <- "Ce"
aves$fisionomia <- factor(aves$fisionomia, levels=c("CL","CC","Ce"))
fisio.ce <- subset(aves,aves$fisionomia=="Ce")
fisio.ce
mod.ce <- lm(seriema~carcara, data=fisio.ce)
sum.ce <- summary(mod.ce)
p.ce <- sum.ce$coefficients[2,4]
coef.ce <- coef(mod.ce)
fisio.cc <- subset(aves, aves$fisionomia=="CC")
mod.cc <- lm(seriema~carcara, data=fisio.cc)
sum.cc <- summary(mod.cc)
p.cc <- sum.cc$coefficients[2,4]
coef.cc <- coef(mod.cc)
fisio.cl <- subset(aves, aves$fisionomia=="CL")
mod.cl <- lm(seriema~carcara, data=fisio.cl)
sum.cl <- summary(mod.cl)
p.cl <- sum.cl$coefficients[2,4]
coef.cl <- coef(mod.cl)

#7B
init.h = c(600, 700, 800, 950, 1100, 1300, 1500)
h.d = c(253, 337, 395, 451, 495, 534, 573)
plot(h.d~init.h)
mod1 <- lm(h.d~init.h)
mod2 <- update(mod1,.~. +I(init.h^2))
anova(mod1)
anova(mod1,mod2)
abline(mod1)
cf.m2 <- coef(mod2)
curve(cf.m2[1]+cf.m2[2]*x+cf.m2[3]*x^2, add=T, lty=2)
#O polinomio do segundo grau,  o modelo que melhor explica a relacao entre a distancia percorrida e a altura de lancamento.
#Um polinomio de tercer grau nao fornece uma melhor explicacao do que o polinomio de segundo grau.

#Massa Recm-nascido
arquivo <- read.table("archivo1.1.csv", header=T, sep=";", as.is=F)
arquivo
arquivo$age[arquivo$age==99] <- NA
arquivo$height[arquivo$height==99] <- NA
arquivo$smoke[arquivo$smoke==9] <- NA
arquivo$smoke <- as.logical(arquivo$smoke)
arquivo <- arquivo[apply(is.na(arquivo),1,sum)==0,]
summary(arquivo)

mod.geral <- lm(bwt~gestation + smoke + parity + age + weight + height, data=arquivo)
summary(mod.geral)
anova(mod.geral)

mod.noage <- lm(bwt~gestation + smoke + parity + weight + height, data=arquivo)
summary(mod.noage)
anova(mod.noage)

mod.noweight <- lm(bwt~gestation + smoke + parity + height, data=arquivo)
summary(mod.noweight)
anova(mod.noage)

mod.noparity <- lm(bwt~gestation + smoke + height, data=arquivo)
summary(mod.noparity)
anova(mod.noparity)

mod.inter <- lm(bwt~gestation + smoke + height + gestation:smoke, data=arquivo)
summary(mod.inter)
anova(mod.inter)

anova(mod.noparity, mod.inter)

#acordo com o jogo das variveis, o melhor modelo explicativo para o peso dos bebes rcem-nascidos,
# o modelo que inclui as variveis de gestation, smoke e height sendo as variveis mais significativas no modelo geral at modelos mais restritos.
